Parser, die sich darum kümmern, XML-Dokumente in Plattform-spezifische Objekte zu übersetzen, gibt es traditionellerweise in zwei Varianten: Parser, die eine Baumstruktur nutzen (Tree-based Parser), und solche, die Ereignis-gesteuert sind.
Das .NET Framework verbessert dieses Modell mit der Einführung von XML-Readern, die einen praktischeren „Pull“-Ansatz verfolgen, der nur die interessierenden Daten liefert, im Gegensatz zu dem eher unpraktischen „Push“-Ansatz bisheriger Parser.
Wir wollen zuerst einen Blick auf die grundlegende Struktur traditioneller Parser werfen und dann erläutern, warum der Ansatz von .NET einen Schritt vorwärts bedeutet.
Tree-based Parser
Ein Tree-based Parser liest den gesamten Inhalt eines XML-Dokuments und erstellt im Speicher ein Objekt, das dieses Dokument repräsentiert. Üblicherweise wird das Objekt auf einer Win32-Plattform eine Instanz einer COM-Komponente sein und auf Nicht-Windows-Plattformen eine Java-Klasse. Der Prototyp für ein solches Objekt richtet sich nach den DOM (Document Object Model) Standards Level 1 und 2 des W3C.
Ereignis-gesteuerte Parser
Ein Ereignis-gesteuerter Parser geht nach einem vollständig anderen Prinzip vor und verfolgt andere Zwecke. Ereignis-gesteuerte Parser denken nicht einmal daran, im Speicher ein Abbild des Quelldokuments zu erstellen. Sie parsen das Dokument einfach der Reihe nach und melden den Client-Anwendungen jeden Tag, auf den sie dabei stoßen. Was dann passiert, liegt allein in der Zuständigkeit der Client-Anwendung. Ereignis-gesteuerte Parser speichern keine Informationen zwischen und belegen damit beneidenswert wenig Speicher. Der De-facto-Standard für Ereignis-gesteuerte Parser ist SAX (Simple API for XML).
Neueste Kommentare
Noch keine Kommentare zu Besseres Parsen von XML-Dokumenten in .NET
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.